if move.axes[2].babystep !=0
    if exists(param.A) && param.A =1
        echo {"更新微步到全部热端, 新增偏移:" ^ move.axes[2].babystep ^  "mm"}
        G10 P0 X{tools[0].offsets[0]} Y{tools[0].offsets[1]} Z{tools[0].offsets[2] - move.axes[2].babystep}
        G10 P1 X{tools[1].offsets[0]} Y{tools[1].offsets[1]} Z{tools[1].offsets[2] - move.axes[2].babystep}
        G10 P2 X{tools[2].offsets[0]} Y{tools[2].offsets[1]} Z{tools[2].offsets[2] - move.axes[2].babystep}
        G10 P3 X{tools[3].offsets[0]} Y{tools[3].offsets[1]} Z{tools[3].offsets[2] - move.axes[2].babystep}
    else
        echo {"更新微步到T" ^state.currentTool ^"新增偏移:" ^ move.axes[2].babystep ^  "mm"}
        if {state.currentTool} == 0
            G10 P0 X{tools[0].offsets[0]} Y{tools[0].offsets[1]} Z{tools[0].offsets[2] - move.axes[2].babystep}
        elif {state.currentTool} == 1
            G10 P1 X{tools[1].offsets[0]} Y{tools[1].offsets[1]} Z{tools[1].offsets[2] - move.axes[2].babystep}
        elif {state.currentTool} == 2
            G10 P2 X{tools[2].offsets[0]} Y{tools[2].offsets[1]} Z{tools[2].offsets[2] - move.axes[2].babystep}
        elif {state.currentTool} == 3
            G10 P3 X{tools[3].offsets[0]} Y{tools[3].offsets[1]} Z{tools[3].offsets[2] - move.axes[2].babystep}
        else
            abort   ; -1不可用
    M500 P10
    M290 R0 S0 ; 应用偏移后, 清除微步数据, 防止重复加载
